package com.hengpeng.itfints.service;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Set;

import com.hengpeng.common.exception.ServiceResult;
import com.hengpeng.common.persist.query.model.Order.OrderType;
import com.hengpeng.itfinbase.persist.SystemConfig;

/**
 * 
 * 系统参数信息服务接口
 * @author lanmingming
 *
 */


public interface SystemConfigService {
	
	/**
	 * <pre>
	 *  新增系统参数 
	 * </pre>
	 * @param obj
	 * @return
	 */
	public ServiceResult<SystemConfig> create(SystemConfig obj);

	/**
	 * <pre>
	 *  批量新增系统参数 
	 * </pre>
	 * @param objs
	 * @return
	 */
	public ServiceResult<List<SystemConfig>> create(List<SystemConfig> objs);
	
	 /**
	  * <pre>
	  *  修改系统参数 
	  * </pre>
	  * @param obj
	  * @return
	  */
	public  ServiceResult<SystemConfig> modfiy(SystemConfig obj);
	
	/**
	 * <pre>
	 *  批量删除系统参数 
	 * </pre>
	 * @param ids 系统参数名 集合
	 */
	public  ServiceResult<SystemConfig> remove(Set<Object> ids);
	
	/**
	 * <pre>
	 *  查询所有系统参数
	 * </pre>
	 * @return
	 */
	public  ServiceResult<List<SystemConfig>> findAll();
	
	/**
	 * <pre>
	 *  分页查询系统参数信息
	 * </pre>
	 * @param id            系统参数名
	 * @param description   系统参数描述
	 * @param value         系统参数值
	 * @param pageIndex     当前页号
	 * @param pageSize      每页显示记录数
	 * @param sortMap       排序集合
	 * @return
	 */
	public  ServiceResult<List<SystemConfig>> findSysConfigPage(String id,String description,String value,Integer pageIndex,Integer pageSize,LinkedHashMap<String,OrderType> sortMap);
	
	public  ServiceResult<Long> findSysConfigCount(String id,String description,String value);
	
	/**
	 * 通过ID获取信息
	 * @param id
	 * @return
	 */
	public  ServiceResult<SystemConfig> findById(String id);

}
